// 20 valid Parentheses

function isValid(str) {
  let stack = []
  let hash = {
    ')': '(',
    ']': '[',
    '}': '{',
  }
  for (let k of str) {
    if (!hash[k]) stack.push(k)
    else if (!stack.length || hash[k] !== stack.pop()) return false
  }
  return !stack.length
}
// console.log(isValid(']'))

// 有效括号
// function isValid(str) {
//   if (str.length % 2 === 1) return false
//   let map = {
//     '[': ']',
//     '(': ')',
//     '{': '}',
//   }
//   let stack = []
//   for (let i = 0; i < str.length; i++) {
//     if (str[i] === '(' || str[i] === '[' || str[i] === '{') {
//       stack.push(str[i])
//     } else {
//       if (str[i] !== map[stack.pop()]) return false
//     }
//   }
//   if (stack.length) return false
//   return true
// }
